<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        var str = `
    <div class="container">
        <div class="box"> 我是div </div>
    </div>
    `

        // var reg = /<div/g;

        // var res = str.replace(reg,'<span').replace(/<\/div>/g,'</span>');
        // console.log(res);

        var reg = /(<\/?)div(.*?>)/g;  // 注意 ? 
        // 不加? //                                    不加? </div>在字符串内部 替换被忽略                                 
                //['<div class="container">', '<div class="box"> 我是div </div>', '</div>']
        // 加上?//                                                     这个div独立出来
                // ['<div class="container">', '<div class="box">', '</div>', '</div>']

        console.log(str.match(reg));


        console.log(str.replace(reg,'$1span$2'));



        // $1 第一个小括号内容  拿到第一个小括号内容  一模一样

        // $2 第二个小括号内容   拿到第二个小括号内容  一模一样
    </script>

</body>

</html>